
namespace LeetCode0131Partition {

    function partition(s: string): string[][] {
        if (!s || s.length == 0) return [];
        const len = s.length;
        let ans: string[][] = [];
        for (let i = 0; i < len; i++) {
            // TODO HarryNR
        }

        return ans;
    };

    // function partition(s: string): string[][] {
    //     if (!s || s.length == 0) return [];
    //     const len = s.length;
    //     const f = ((new Array(len)).fill(0)).map(() => (new Array(len)).fill(true));
    //     let ret: string[][] = [];
    //     let ans: string[] = [];

    //     const dfs = (i: number) => {
    //         if (i === len) {
    //             ret.push(ans.slice());
    //             return;
    //         }

    //         for (let j = i; j < len; ++j) {
    //             if (f[i][j]) {
    //                 ans.push(s.slice(i, j + 1));
    //                 dfs(j + 1);
    //                 ans.pop();
    //             }
    //         }
    //     }

    //     for (let i = len - 1; i >= 0; --i) {
    //         for (let j = i + 1; j < len; ++j) {
    //             f[i][j] = (s[i] === s[j]) && f[i + 1][j - 1];
    //         }
    //     }
    //     dfs(0);
    //     return ret;
    // };
}